/**
 * @description 环境配置
 */

// 获取当前环境模式
const ENV_MODE = process.env.NODE_ENV || 'development';

// 各环境基础接口地址配置
const ENV_CONFIG = {
  development: {
    baseUrl: 'http://dev-api.example.com', // 开发环境接口地址
    uploadUrl: 'http://dev-api.example.com/upload', // 开发环境上传接口地址
  },
  test: {
    baseUrl: 'http://test-api.example.com', // 测试环境接口地址
    uploadUrl: 'http://test-api.example.com/upload', // 测试环境上传接口地址
  },
  production: {
    baseUrl: 'https://api.example.com', // 生产环境接口地址
    uploadUrl: 'https://api.example.com/upload', // 生产环境上传接口地址
  }
};

// 默认导出当前环境配置
export default ENV_CONFIG[ENV_MODE];

// 导出所有环境配置
export const envConfig = ENV_CONFIG;

// 导出环境模式
export const envMode = ENV_MODE;

/**
 * @description 判断是否为开发环境
 * @return {Boolean}
 */
export const isDev = ENV_MODE === 'development';

/**
 * @description 判断是否为测试环境
 * @return {Boolean}
 */
export const isTest = ENV_MODE === 'test';

/**
 * @description 判断是否为生产环境
 * @return {Boolean}
 */
export const isProd = ENV_MODE === 'production';

/**
 * @description 获取当前环境的基础接口地址
 * @return {String}
 */
export const getBaseUrl = () => ENV_CONFIG[ENV_MODE].baseUrl;

/**
 * @description 获取当前环境的上传接口地址
 * @return {String}
 */
export const getUploadUrl = () => ENV_CONFIG[ENV_MODE].uploadUrl; 